package com.wh.base.sys.menu.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wh.base.sys.menu.entity.Menu;

/**
 * <p>
 * 菜单 服务类
 * </p>
 *
 * @author WangHong
 * @since 2022-05-05
 */
public interface MenuService extends IService<Menu> {

	/**
	 * 根据权限获取菜单集合
	 * @param roleId
	 * @return
	 */
	List<Menu> findMenuListByRoleId(Long roleId);
	
	
	/**
	 * 获取角色授权菜单
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> getMenuTreeByRoleId(Long id);
	
	/**
	 * 检查是否存在不允许修改的数据
	 * @param idList id集合
	 * @return
	 */
	boolean checkAllowedUpdate(List<Long> idList);
	
	/**
	 * 获取菜单所有子级id
	 * @param id
	 * @return
	 */
	Set<Long> getChildIdByParentId(Long id);
}
